using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cysharp.Threading.Tasks;

// projectileMgr
public class ProjectileMgr : Singleton<ProjectileMgr>
{
    // PoolMgr<Projectile> poolMgr;
    // List<string> cachePath;
    // public override void Init()
    // {
    //     base.Init();
    //     poolMgr = PoolMgr<Projectile>.Instance;
    //     cachePath = new List<string>();
    // }

    // async public void CreateProjectile(int id, Vector3 pos, Vector3 dir, float speed, float lifeTime)
    // {
    //     string path = "Assets/Resources/Projectile/" + id + ".prefab";
    //     Projectile proj = await GetProjectile(path);
    //     proj.transform.position = pos;
    //     proj.SetDir(dir);
    //     proj.Init(speed, lifeTime);
    // }

    // async UniTask<Projectile> GetProjectile(string path)
    // {
    //     Projectile proj = poolMgr.Get(path);

    //     if(!cachePath.Contains(path))
    //     {
    //         cachePath.Add(path);
    //     }

    //     if (proj == null)
    //     {
    //         proj = await LoadMgr.Instance.LoadInstance<Projectile>(path);
    //     }
    //     return proj;
    // }

    // public override void Clean()
    // {
    //     base.Clean();
    //     foreach (var path in cachePath)
    //     {
    //         poolMgr.Clean(path);
    //     }
    //     cachePath.Clear();
    // }
}